package _17_函数式编程._3_创建Stream._1_创建Stream;

import org.junit.jupiter.api.Test;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class _1_CreateStreamTest {


    //-----------------------------------
    //  Stream.of()
    //-----------------------------------

    @Test
    public void streamOfTest(){
        Stream<String> stream = Stream.of("A","B","C","D");
        // foreach()方法相当于内部循环调用
        // 可传入符合Consumer接口的void accept(T t)的方法引用；
        stream.forEach(System.out::println);
    }

    //-----------------------------------
    //  Collection
    //-----------------------------------

    @Test
    public void connectionTest(){
//        Stream<String> stream1 = Arrays.stream(new String[]{"A","B","C","D"});
//        Stream<String> stream2 = List.of("X","Y","Z").stream();
//        stream1.forEach(System.out::println);
//        stream2.forEach(System.out::println);
    }

    //把数组变成Stream使用Arrays.stream()方法。
    //对于Collection(List、Set、Queue等)，直接调用stream()方法就可以获得Stream。
    //上述创建Stream的方法都是把一个现有的序列变为Stream，它的元素是固定的。



    //-----------------------------------
    //  Supplier
    //-----------------------------------




}
